
# Python 版 Redis Client
import redis

r = redis.Redis(host='localhost', port=6379, db=0)
r = redis.Redis(host='localhost', port=6379, db=0, password="")

# 数据操作：
###########################################################################
# 高级功能和用例
# 事务操作：

# 开启事务
pipe = r.pipeline()
# 执行事务
pipe.set('key1', 'value1')
pipe.set('key2', 'value2')
pipe.get('key1')
pipe.get('key2')
# 提交事务


############################################################################
# 过期时间和持久化：
r.setex('mykey', 60, 'myvalue') # 设置键的过期时间
ttl = r.ttl('key')              # 获取键的剩余生存时间
print(ttl)
r.save()                        # 持久化数到磁盘
if __name__ == '__main__':

    result = pipe.execute()
    print(result)
    print(r.keys("*"))

#############################################################################
# 分布式锁
# lock_acquired = r.set('mylock', 'locked', nx=True, ex=10) # 获取分布式锁
# if lock_acquired:
#     print("lock acquired, preforming critical section")
#     r.delete('mylock')
# else:
#     print('failed to acquire lock, anothre process holds the lock')
